home *** CD-ROM | disk | FTP | other *** search
/ 9-Digit Zip Code Directory / 9-Digit Zip Code Directory (American Business Information) (ABIZIP-12).ISO / z4src.zip / ZI.HPP < prev    next >
C/C++ Source or Header  |  1993-08-18  |  23KB  |  823 lines

  1. #ifndef _ZI_HPP_
  2. #define _ZI_HPP_
  3. //----------------------------------------------------------------------------
  4. //                            MODULE DESCRIPTION
  5. //
  6. //  Module:    zi.hpp
  7. //   Title:    9 Digit ZIP Disc Interface
  8. //  Notice:    John M. Weeder
  9. //                 Copyright (c) 1993. All rights reserved.
  10. //             This module contains proprietary information and should be 
  11. //                treated as confidential.
  12. //
  13. //----------------------------------------------------------------------------
  14. //                           MAINTENANCE HISTORY
  15. //
  16. // $Workfile$
  17. // $Revision$
  18. //   $Author$
  19. //     $Date$
  20. //      $Log$    
  21. //
  22. //----------------------------------------------------------------------------
  23. //                             MODULE NARRATIVE
  24. //
  25. //    This module is the header file for the ZIP+4 Disc interface code.
  26. //
  27. //    The code in this module may be written in C++ or C.
  28. //
  29. //    This module is portable to:
  30. //        DOS 3.X+
  31. //        MS Windows 3.X+
  32. //        OS/2 2.X+
  33. //        OS/2 2.0 PM
  34. //
  35. //    The following compilers are supported:
  36. //        MSC 6.0A
  37. //        MSC/C++ 7.0
  38. //        Borland C++ 3.1 for DOS
  39. //        Borland C++ 1.0 for OS/2 2.X
  40. //
  41. //----------------------------------------------------------------------------
  42. #include <zinc.hpp>
  43. #include <z4.h>
  44.  
  45.  
  46. //----------------------------------------------------------------------------
  47. //    Compiler constants
  48. //----------------------------------------------------------------------------
  49. #define ZI_USER_LEVEL    (1)
  50.  
  51.  
  52. //----------------------------------------------------------------------------
  53. //    Constants
  54. //----------------------------------------------------------------------------
  55. enum _ZI_MSG
  56.     {
  57.     ZI_MSG_ADDR = ZN_MSG_USER,                // Address line change
  58.     ZI_MSG_STATE,                                // State change
  59.     ZI_MSG_CITY,                                // City change
  60.     ZI_MSG_ZIP5,                                // ZIP5 change
  61.  
  62.     ZI_MSG_INIT,                                // Initialize databases
  63.     ZI_MSG_SELECT,                                // Record selected??
  64.     ZI_MSG_RECORD,                                // Record count change
  65.     ZI_MSG_CLICK,                                // Remove one record click!
  66.     ZI_MSG_ABORT,                                // Abort inquiry
  67.     ZI_MSG_GOTO,                                // Goto a record
  68.  
  69.     ZI_MSG_ST,                                    // Display ST file
  70.     ZI_MSG_Z4,                                    // Display Z4 file
  71.     ZI_MSG_ZX,                                    // Display ZX file
  72.     ZI_MSG_CX,                                    // Display CX file
  73.     ZI_MSG_CS,                                    // Display CS file
  74.     ZI_MSG_Z5,                                    // Display Z5 file
  75.     ZI_MSG_PF,                                    // Display PF file (not implemented)
  76.     ZI_MSG_AB,                                    // Display AB file
  77.     ZI_MSG_PARSE,                                // Display parse information
  78.  
  79.     ZI_MSG_MAX
  80.     };
  81.  
  82.  
  83. //----------------------------------------------------------------------------
  84. //    Prototypes
  85. //----------------------------------------------------------------------------
  86.  
  87. //
  88. //    zi.cpp
  89. //
  90. PCSZ FN_E ZiMainWindow();
  91.  
  92. //     
  93. //    zisubcd.cpp
  94. //
  95. VOID FN_E SubscribeGenerate(SHORT, PSZ);
  96. BOOL FN_E SubscribeResponse(PCSZ, PSZ);
  97. BOOL FN_E SubscribeVerify(PCSZ, PCSZ);
  98.  
  99.  
  100. //----------------------------------------------------------------------------
  101. //    Class definitions
  102. //----------------------------------------------------------------------------
  103. CLASSDEF(ZI_ABBREV);
  104. CLASSDEF(ZI_ABOUT);
  105. CLASSDEF(ZI_CONFIG);
  106. CLASSDEF(ZI_COUNTER);
  107. CLASSDEF(ZI_CS);
  108. CLASSDEF(ZI_CS_DETAIL);
  109. CLASSDEF(ZI_CS_LIST);
  110. CLASSDEF(ZI_CX);
  111. CLASSDEF(ZI_CX_DETAIL);
  112. CLASSDEF(ZI_CX_LIST);
  113. CLASSDEF(ZI_EXPERT);
  114. CLASSDEF(ZI_EXPIRE);
  115. CLASSDEF(ZI_HELP);
  116. CLASSDEF(ZI_INTRO);
  117. CLASSDEF(ZI_MORE);
  118. CLASSDEF(ZI_PARSE);
  119. CLASSDEF(ZI_RESULT);
  120. CLASSDEF(ZI_ST);
  121. CLASSDEF(ZI_ST_DETAIL);
  122. CLASSDEF(ZI_SUBSCRIBE);
  123. CLASSDEF(ZI_WINDOW);
  124. CLASSDEF(ZI_Z4);
  125. CLASSDEF(ZI_Z4_DETAIL);
  126. CLASSDEF(ZI_Z4_LIST);
  127. CLASSDEF(ZI_Z5);
  128. CLASSDEF(ZI_Z5_LIST);
  129. CLASSDEF(ZI_ZX);
  130.  
  131.  
  132. //----------------------------------------------------------------------------
  133. //    Class ZI_ABBREV
  134. //----------------------------------------------------------------------------
  135. #define MAX_ABBREVATIONS        (1024)
  136. struct ABBREV
  137.     {
  138.     PCSZ pcszAbbrev;
  139.     PCSZ pcszFull;
  140.     };
  141. BASETYPE(ABBREV);
  142.  
  143. #define ZI_ABBREV_PARENT ZN_WINDOW
  144. class CLASSTYPE ZI_ABBREV : public ZI_ABBREV_PARENT
  145. {
  146.     LONG lCurrent;
  147.     LONG lRecords;
  148.     CHAR szLastMatch[80];
  149.     CHAR szFormat[160];
  150.  
  151.     ABBREV abbrev[MAX_ABBREVATIONS];
  152.  
  153. public:
  154.     FN_M ZI_ABBREV();
  155.     virtual FN_M ~ZI_ABBREV();
  156.  
  157.     VOID FN_M Add(PCSZ, PCSZ);
  158.     virtual BOOL FN_M Destroy(BOOL = TRUE);
  159.     virtual BOOL FN_M Initialize(SHORT = CL_INIT_ALL);
  160.     virtual ZN_MSG FN_M User(ZN_MSG, PVOID = NULL, PVOID = NULL);
  161.  
  162. protected:
  163.     VOID FN_M CheckMatch();
  164. };
  165.  
  166.  
  167. //----------------------------------------------------------------------------
  168. //    Class ZI_ABOUT
  169. //----------------------------------------------------------------------------
  170. #define ZI_ABOUT_PARENT ZN_WINDOW
  171. class CLASSTYPE ZI_ABOUT : public ZI_ABOUT_PARENT
  172. {
  173. public:
  174.     FN_M ZI_ABOUT();
  175.     virtual FN_M ~ZI_ABOUT();
  176.  
  177.     virtual ZN_MSG FN_M User(ZN_MSG, PVOID = NULL, PVOID = NULL);
  178. };
  179.  
  180.  
  181. //----------------------------------------------------------------------------
  182. //    Class ZI_CANCEL
  183. //----------------------------------------------------------------------------
  184. CLASSDEF(ZI_CANCEL);
  185. #define ZI_CANCEL_PARENT ZN_WINDOW
  186. class CLASSTYPE ZI_CANCEL : public ZI_CANCEL_PARENT
  187. {
  188.     SHORT sBitmap;
  189. public:
  190.     FN_M ZI_CANCEL();
  191.     virtual FN_M ~ZI_CANCEL();
  192.  
  193.     virtual BOOL FN_M Destroy(BOOL = TRUE);
  194.     virtual BOOL FN_M Initialize(SHORT = CL_INIT_ALL);
  195.     VOID FN_M NextBitmap(SHORT = -1);
  196.     virtual ZN_MSG FN_M User(ZN_MSG, PVOID = NULL, PVOID = NULL);
  197. };
  198.  
  199.  
  200. //----------------------------------------------------------------------------
  201. //    Class ZI_CONFIG
  202. //----------------------------------------------------------------------------
  203. #define ZI_CONFIG_PARENT ZN_WINDOW
  204. class CLASSTYPE ZI_CONFIG : public ZI_CONFIG_PARENT
  205. {
  206.     CL_PARM cl_parm;
  207. public:
  208.     FN_M ZI_CONFIG();
  209.     virtual FN_M ~ZI_CONFIG();
  210.  
  211.     virtual BOOL FN_M Destroy(BOOL = TRUE);
  212.     virtual BOOL FN_M Initialize(SHORT = CL_INIT_ALL);
  213.     virtual ZN_MSG FN_M User(ZN_MSG, PVOID = NULL, PVOID = NULL);
  214. };
  215.  
  216.  
  217. //----------------------------------------------------------------------------
  218. //    Class ZI_COUNTER
  219. //----------------------------------------------------------------------------
  220. #define ZI_COUNTER_PARENT ZN_WINDOW
  221. class CLASSTYPE ZI_COUNTER : public ZI_COUNTER_PARENT
  222. {
  223. public:
  224.     FN_M ZI_COUNTER();
  225.     virtual FN_M ~ZI_COUNTER();
  226.  
  227.     virtual BOOL FN_M Destroy(BOOL = TRUE);
  228.     virtual BOOL FN_M Initialize(SHORT = CL_INIT_ALL);
  229.     virtual ZN_MSG FN_M User(ZN_MSG, PVOID = NULL, PVOID = NULL);
  230. };
  231.  
  232.  
  233. //----------------------------------------------------------------------------
  234. //    Class ZI_CS
  235. //----------------------------------------------------------------------------
  236. #define ZI_CS_PARENT ZN_WINDOW
  237. class CLASSTYPE ZI_CS : public ZI_CS_PARENT
  238. {
  239.     BOOL fInit;
  240.     LONG lClick;
  241.     LONG lCurrent;
  242.     LONG lRecords;
  243.     CHAR szLastMatch[80];
  244.     CHAR szFormat[160];
  245.     Z4_STATE state;
  246.     Z4_STATE stateLast;
  247.     PCSZ pcszCity;
  248.  
  249. public:
  250.     FN_M ZI_CS(Z4_STATE = Z4_ST_FIRST, PCSZ = NULL);
  251.     virtual FN_M ~ZI_CS();
  252.  
  253.     virtual BOOL FN_M Destroy(BOOL = TRUE);
  254.     virtual BOOL FN_M Initialize(SHORT = CL_INIT_ALL);
  255.     virtual ZN_MSG FN_M User(ZN_MSG, PVOID = NULL, PVOID = NULL);
  256.  
  257. protected:
  258.     VOID FN_M CheckMatch();
  259.     BOOL FN_M Detail();
  260.     BOOL FN_M Query(PZN_VLIST_ELEM);
  261.     BOOL FN_M Select();
  262. };
  263.  
  264.  
  265. //----------------------------------------------------------------------------
  266. //    Class ZI_CS_DETAIL
  267. //----------------------------------------------------------------------------
  268. #define ZI_CS_DETAIL_PARENT ZN_WINDOW
  269. class CLASSTYPE ZI_CS_DETAIL : public ZI_CS_DETAIL_PARENT
  270. {
  271.     Z4_CS cs;
  272. public:
  273.     FN_M ZI_CS_DETAIL(RZ4_CS);
  274.     virtual FN_M ~ZI_CS_DETAIL();
  275.  
  276.     virtual BOOL FN_M Destroy(BOOL = TRUE);
  277.     VOID FN_M Format();
  278.     virtual BOOL FN_M Initialize(SHORT = CL_INIT_ALL);
  279.     virtual ZN_MSG FN_M User(ZN_MSG, PVOID = NULL, PVOID = NULL);
  280. };
  281.  
  282.  
  283. //----------------------------------------------------------------------------
  284. //    Class ZI_CS_LIST
  285. //----------------------------------------------------------------------------
  286. #define ZI_CS_LIST_PARENT ZN_WINDOW
  287. class CLASSTYPE ZI_CS_LIST : public ZI_CS_LIST_PARENT
  288. {
  289.     LONG lCurrent;
  290.     LONG lRecords;
  291.     CHAR szFormat[160];
  292.     PRECID precid;
  293.     PCSZ pcszZip5;
  294.  
  295. public:
  296.     FN_M ZI_CS_LIST(SIZET, PRECID, PCSZ);
  297.     virtual FN_M ~ZI_CS_LIST();
  298.  
  299.     virtual BOOL FN_M Destroy(BOOL = TRUE);
  300.     BOOL FN_M Detail();
  301.     virtual BOOL FN_M Initialize(SHORT = CL_INIT_ALL);
  302.     BOOL FN_M Query(PZN_VLIST_ELEM);
  303.     BOOL FN_M Select();
  304.     virtual ZN_MSG FN_M User(ZN_MSG, PVOID = NULL, PVOID = NULL);
  305. };
  306.  
  307.  
  308. //----------------------------------------------------------------------------
  309. //    Class ZI_CX
  310. //----------------------------------------------------------------------------
  311. #define ZI_CX_PARENT ZN_WINDOW
  312. class CLASSTYPE ZI_CX : public ZI_CX_PARENT
  313. {
  314.     BOOL fInit;
  315.     LONG lClick;
  316.     LONG lCurrent;
  317.     LONG lRecords;
  318.     CHAR szLastMatch[80];
  319.     CHAR szFormat[160];
  320.     Z4_STATE state;
  321.     Z4_STATE stateLast;
  322.     PCSZ pcszCity;
  323.  
  324. public:
  325.     FN_M ZI_CX(Z4_STATE = Z4_ST_FIRST, PCSZ = NULL);
  326.     virtual FN_M ~ZI_CX();
  327.  
  328.     virtual BOOL FN_M Destroy(BOOL = TRUE);
  329.     virtual BOOL FN_M Initialize(SHORT = CL_INIT_ALL);
  330.     virtual ZN_MSG FN_M User(ZN_MSG, PVOID = NULL, PVOID = NULL);
  331.  
  332. protected:
  333.     VOID FN_M CheckMatch();
  334.     BOOL FN_M Detail();
  335.     BOOL FN_M Query(PZN_VLIST_ELEM);
  336.     BOOL FN_M Select();
  337. };
  338.  
  339.  
  340. //----------------------------------------------------------------------------
  341. //    Class ZI_CX_LIST
  342. //----------------------------------------------------------------------------
  343. #define ZI_CX_LIST_PARENT ZN_WINDOW
  344. class CLASSTYPE ZI_CX_LIST : public ZI_CX_LIST_PARENT
  345. {
  346.     LONG lCurrent;
  347.     LONG lRecords;
  348.     CHAR szFormat[160];
  349.     PRECID precid;
  350.  
  351. public:
  352.     FN_M ZI_CX_LIST(SIZET, PRECID);
  353.     virtual FN_M ~ZI_CX_LIST();
  354.  
  355.     virtual BOOL FN_M Destroy(BOOL = TRUE);
  356.     BOOL FN_M Detail();
  357.     virtual BOOL FN_M Initialize(SHORT = CL_INIT_ALL);
  358.     BOOL FN_M Query(PZN_VLIST_ELEM);
  359.     virtual ZN_MSG FN_M User(ZN_MSG, PVOID = NULL, PVOID = NULL);
  360. };
  361.  
  362.  
  363. //----------------------------------------------------------------------------
  364. //    Class ZI_CX_DETAIL
  365. //----------------------------------------------------------------------------
  366. #define ZI_CX_DETAIL_PARENT ZN_WINDOW
  367. class CLASSTYPE ZI_CX_DETAIL : public ZI_CX_DETAIL_PARENT
  368. {
  369.     Z4_CX cx;
  370. public:
  371.     FN_M ZI_CX_DETAIL(RZ4_CX);
  372.     virtual FN_M ~ZI_CX_DETAIL();
  373.  
  374.     virtual BOOL FN_M Destroy(BOOL = TRUE);
  375.     VOID FN_M Format();
  376.     virtual BOOL FN_M Initialize(SHORT = CL_INIT_ALL);
  377.     virtual ZN_MSG FN_M User(ZN_MSG, PVOID = NULL, PVOID = NULL);
  378. };
  379.  
  380.  
  381. //----------------------------------------------------------------------------
  382. //    Class ZI_EXPERT
  383. //----------------------------------------------------------------------------
  384. #define ZI_EXPERT_PARENT ZN_WINDOW
  385. class CLASSTYPE ZI_EXPERT : public ZI_EXPERT_PARENT
  386. {
  387. public:
  388.     FN_M ZI_EXPERT();
  389.     virtual FN_M ~ZI_EXPERT();
  390.  
  391.     virtual BOOL FN_M Destroy(BOOL = TRUE);
  392.     virtual BOOL FN_M Initialize(SHORT = CL_INIT_ALL);
  393.     virtual ZN_MSG FN_M User(ZN_MSG, PVOID = NULL, PVOID = NULL);
  394. };
  395.  
  396.  
  397. //----------------------------------------------------------------------------
  398. //    Class ZI_EXPIRE
  399. //----------------------------------------------------------------------------
  400. #define ZI_EXPIRE_PARENT ZN_WINDOW
  401. class CLASSTYPE ZI_EXPIRE : public ZI_EXPIRE_PARENT
  402. {
  403.     TIMET timeExpire;
  404.     BOOL fExpired;
  405.  
  406. public:
  407.     FN_M ZI_EXPIRE(TIMET = 0, BOOL = FALSE);
  408.     virtual FN_M ~ZI_EXPIRE();
  409.  
  410.     virtual BOOL FN_M Destroy(BOOL = TRUE);
  411.     virtual BOOL FN_M Initialize(SHORT = CL_INIT_ALL);
  412.     virtual ZN_MSG FN_M User(ZN_MSG, PVOID = NULL, PVOID = NULL);
  413. };
  414.  
  415.  
  416. //----------------------------------------------------------------------------
  417. //    Class ZI_GOTO
  418. //----------------------------------------------------------------------------
  419. CLASSDEF(ZI_GOTO);
  420. #define ZI_GOTO_PARENT ZN_WINDOW
  421. class CLASSTYPE ZI_GOTO : public ZI_GOTO_PARENT
  422. {
  423.     LONG lMin, lMax, lDft;
  424.     FIELDID fid;
  425.  
  426. public:
  427.     FN_M ZI_GOTO(FIELDID, LONG = 0x7FFFFFFFL, LONG = 1, LONG = -1);
  428.     virtual FN_M ~ZI_GOTO();
  429.  
  430.     virtual BOOL FN_M Destroy(BOOL = TRUE);
  431.     virtual BOOL FN_M Initialize(SHORT = CL_INIT_ALL);
  432.     virtual ZN_MSG FN_M User(ZN_MSG, PVOID = NULL, PVOID = NULL);
  433.     static BOOL FN_M Goto(FIELDID, LONG = 0x7FFFFFFFL, LONG = 1, LONG = -1);
  434. };
  435.  
  436.  
  437. //----------------------------------------------------------------------------
  438. //    Class ZI_HELP
  439. //----------------------------------------------------------------------------
  440. #define ZI_HELP_PARENT ZN_WINDOW
  441. class CLASSTYPE ZI_HELP : public ZI_HELP_PARENT
  442. {
  443. public:
  444.     FN_M ZI_HELP();
  445.     virtual FN_M ~ZI_HELP();
  446.  
  447.     virtual BOOL FN_M Destroy(BOOL = TRUE);
  448.     virtual BOOL FN_M Initialize(SHORT = CL_INIT_ALL);
  449.     virtual ZN_MSG FN_M User(ZN_MSG, PVOID = NULL, PVOID = NULL);
  450. };
  451.  
  452.  
  453. //----------------------------------------------------------------------------
  454. //    Class ZI_INTRO
  455. //----------------------------------------------------------------------------
  456. #define ZI_INTRO_PARENT ZN_WINDOW
  457. class CLASSTYPE ZI_INTRO : public ZI_INTRO_PARENT
  458. {
  459. public:
  460.     FN_M ZI_INTRO();
  461.     virtual FN_M ~ZI_INTRO();
  462.  
  463.     virtual ZN_MSG FN_M User(ZN_MSG, PVOID = NULL, PVOID = NULL);
  464. };
  465.  
  466.  
  467. //----------------------------------------------------------------------------
  468. //    Class ZI_MORE
  469. //----------------------------------------------------------------------------
  470. #define ZI_MORE_PARENT ZN_WINDOW
  471. class CLASSTYPE ZI_MORE : public ZI_MORE_PARENT
  472. {
  473.     static PCSZ apszTopics[];
  474.  
  475. public:
  476.     FN_M ZI_MORE();
  477.     virtual FN_M ~ZI_MORE();
  478.  
  479.     virtual BOOL FN_M Destroy(BOOL = TRUE);
  480.     BOOL FN_M Display(USHORT);
  481.     virtual BOOL FN_M Initialize(SHORT = CL_INIT_ALL);
  482.     BOOL FN_M Print(USHORT);
  483.     virtual ZN_MSG FN_M User(ZN_MSG, PVOID = NULL, PVOID = NULL);
  484. };
  485.  
  486.  
  487. //----------------------------------------------------------------------------
  488. //    Class ZI_PARSE
  489. //----------------------------------------------------------------------------
  490. #define ZI_PARSE_PARENT ZN_WINDOW
  491. class CLASSTYPE ZI_PARSE : public ZI_PARSE_PARENT
  492. {
  493.     PZ4_PARSE pparse;
  494.  
  495. public:
  496.     FN_M ZI_PARSE(PZ4_PARSE pparse);
  497.     virtual FN_M ~ZI_PARSE();
  498.  
  499.     virtual BOOL FN_M Destroy(BOOL = TRUE);
  500.     BOOL FN_M Format();
  501.     virtual BOOL FN_M Initialize(SHORT = CL_INIT_ALL);
  502.     virtual ZN_MSG FN_M User(ZN_MSG, PVOID = NULL, PVOID = NULL);
  503. };
  504.  
  505.  
  506. //----------------------------------------------------------------------------
  507. //    Class ZI_RESULT
  508. //----------------------------------------------------------------------------
  509. #define ZI_RESULT_PARENT ZN_WINDOW
  510. class CLASSTYPE ZI_RESULT : public ZI_RESULT_PARENT
  511. {
  512.     PCSZ pcszResults;
  513. public:
  514.     FN_M ZI_RESULT(PCSZ = NULL);
  515.     virtual FN_M ~ZI_RESULT();
  516.  
  517.     virtual BOOL FN_M Destroy(BOOL = TRUE);
  518.     virtual BOOL FN_M Initialize(SHORT = CL_INIT_ALL);
  519.     virtual ZN_MSG FN_M User(ZN_MSG, PVOID = NULL, PVOID = NULL);
  520. };
  521.  
  522.  
  523. //----------------------------------------------------------------------------
  524. //    Class ZI_ST
  525. //----------------------------------------------------------------------------
  526. #define ZI_ST_PARENT ZN_WINDOW
  527. class CLASSTYPE ZI_ST : public ZI_ST_PARENT
  528. {
  529.     BOOL fInit;
  530.     LONG lCurrent;
  531.     LONG lRecords;
  532.     CHAR szLastMatch[80];
  533.     CHAR szFormat[160];
  534.     Z4_ST_FILE st_file;
  535.     Z4_STATE state;
  536.  
  537. public:
  538.     FN_M ZI_ST(Z4_STATE = Z4_ST_INVALID);
  539.     virtual FN_M ~ZI_ST();
  540.  
  541.     virtual BOOL FN_M Destroy(BOOL = TRUE);
  542.     virtual BOOL FN_M Initialize(SHORT = CL_INIT_ALL);
  543.     virtual ZN_MSG FN_M User(ZN_MSG, PVOID = NULL, PVOID = NULL);
  544.  
  545. protected:
  546.     VOID FN_M CheckMatch();
  547.     BOOL FN_M Detail();
  548. };
  549.  
  550.  
  551. //----------------------------------------------------------------------------
  552. //    Class ZI_ST_DETAIL
  553. //----------------------------------------------------------------------------
  554. #define ZI_ST_DETAIL_PARENT ZN_WINDOW
  555. class CLASSTYPE ZI_ST_DETAIL : public ZI_ST_DETAIL_PARENT
  556. {
  557.     Z4_STATE state;
  558. public:
  559.     FN_M ZI_ST_DETAIL(Z4_STATE);
  560.     virtual FN_M ~ZI_ST_DETAIL();
  561.  
  562.     virtual BOOL FN_M Destroy(BOOL = TRUE);
  563.     VOID FN_M Format();
  564.     virtual BOOL FN_M Initialize(SHORT = CL_INIT_ALL);
  565.     virtual ZN_MSG FN_M User(ZN_MSG, PVOID = NULL, PVOID = NULL);
  566. };
  567.  
  568.  
  569. //----------------------------------------------------------------------------
  570. //    Class ZI_SUBSCRIBE
  571. //----------------------------------------------------------------------------
  572. #define MAX_SUBSCRIBE_LEVEL        (4)
  573. #define ZI_SUBSCRIBE_PARENT ZN_WINDOW
  574. class CLASSTYPE ZI_SUBSCRIBE : public ZI_SUBSCRIBE_PARENT
  575. {
  576.     static PSZ apszSuffix[MAX_SUBSCRIBE_LEVEL];
  577.     static PCSZ pcszKey;
  578.  
  579.     SHORT sLevel;
  580.     CHAR szCode[MAX_SUBSCRIBE_LEVEL][20];
  581.  
  582. public:
  583.     FN_M ZI_SUBSCRIBE();
  584.     virtual FN_M ~ZI_SUBSCRIBE();
  585.  
  586.     virtual BOOL FN_M Destroy(BOOL = TRUE);
  587.     virtual BOOL FN_M Initialize(SHORT = CL_INIT_ALL);
  588.     virtual ZN_MSG FN_M User(ZN_MSG, PVOID = NULL, PVOID = NULL);
  589. };
  590.  
  591.  
  592. //----------------------------------------------------------------------------
  593. //    Class ZI_VIEW_FILE
  594. //----------------------------------------------------------------------------
  595. CLASSDEF(ZI_VIEW_FILE);
  596. #define ZI_VIEW_FILE_PARENT ZN_WINDOW
  597. class CLASSTYPE ZI_VIEW_FILE : public ZI_VIEW_FILE_PARENT
  598. {
  599.     PCSZ pcszDisplay;
  600.     PCSZ pcszPrint;
  601.     PCSZ pcszSep;
  602.     PCSZ pcszTitle;
  603.  
  604. public:
  605.     FN_M ZI_VIEW_FILE(PCSZ, PCSZ = NULL, PCSZ = NULL);
  606.     virtual FN_M ~ZI_VIEW_FILE();
  607.  
  608.     virtual BOOL FN_M Destroy(BOOL = TRUE);
  609.     BOOL FN_M Format();
  610.     virtual BOOL FN_M Initialize(SHORT = CL_INIT_ALL);
  611.     BOOL FN_M Print();
  612.     virtual ZN_MSG FN_M User(ZN_MSG, PVOID = NULL, PVOID = NULL);
  613.     static BOOL FN_M ViewFile(PCSZ, PCSZ = NULL, PCSZ = NULL);
  614. };
  615.  
  616.  
  617. //----------------------------------------------------------------------------
  618. //    Class ZI_WINDOW
  619. //----------------------------------------------------------------------------
  620. #define ZI_WINDOW_PARENT ZN_WINDOW
  621. class CLASSTYPE ZI_WINDOW : public ZI_WINDOW_PARENT
  622. {
  623.     LONG lRecordCount;
  624.     CHAR szResults[1024];
  625.     Z4_INQ z4_inq;
  626.  
  627. public:
  628.     FN_M ZI_WINDOW();
  629.     virtual FN_M ~ZI_WINDOW();
  630.  
  631.     virtual BOOL FN_M Destroy(BOOL = TRUE);
  632.     virtual BOOL FN_M Initialize(SHORT = CL_INIT_ALL);
  633.     virtual ZN_MSG FN_M User(ZN_MSG, PVOID = NULL, PVOID = NULL);
  634.  
  635.     static BOOL FN_M Z4Callback(SHORT);
  636.     static PZI_CANCEL pzi_cancel;
  637.     static BOOL fAbort;
  638.  
  639. protected:
  640.     BOOL FN_M Abbrev();
  641.     BOOL FN_M About();
  642.     BOOL FN_M CheckCounter();
  643.     VOID FN_M Clear(BOOL = TRUE, BOOL = TRUE);
  644.     BOOL FN_M Configure();
  645.     BOOL FN_M CS();
  646.     BOOL FN_M CX();
  647.     BOOL FN_M Expert();
  648.     VOID FN_M Flags();
  649.     BOOL FN_M Get();
  650.     VOID FN_M Help(ZN_HELP, PSZ);
  651.     BOOL FN_M HelpIndex();
  652.     VOID FN_M Inquiry();
  653.     BOOL FN_M More();
  654.     BOOL FN_M Multiple();
  655.     BOOL FN_M Parse();
  656.     BOOL FN_M RecordCount(BOOL = FALSE);
  657.     BOOL FN_M Results();
  658.     VOID FN_M SetResults();
  659.     VOID FN_M SetResultsCS();
  660.     VOID FN_M SetResultsZ4();
  661.     VOID FN_M SetResultsZ5();
  662.     VOID FN_M SetResultsZX();
  663.     BOOL FN_M State();
  664.     BOOL FN_M Subscribe();
  665.     BOOL FN_M Z4();
  666.     BOOL FN_M Z5();
  667.     BOOL FN_M ZX();
  668. };
  669.  
  670.  
  671. //----------------------------------------------------------------------------
  672. //    Class ZI_Z4
  673. //----------------------------------------------------------------------------
  674. #define ZI_Z4_PARENT ZN_WINDOW
  675. class CLASSTYPE ZI_Z4 : public ZI_Z4_PARENT
  676. {
  677.     BOOL fInit;
  678.     LONG lCurrent;
  679.     LONG lRecords;
  680.     CHAR szLastPof[60];
  681.     CHAR szLastPriNo[60];
  682.     CHAR szLastPriName[60];
  683.     CHAR szFormat[256];
  684.  
  685. public:
  686.     FN_M ZI_Z4();
  687.     virtual FN_M ~ZI_Z4();
  688.  
  689.     virtual BOOL FN_M Destroy(BOOL = TRUE);
  690.     virtual BOOL FN_M Initialize(SHORT = CL_INIT_ALL);
  691.     virtual ZN_MSG FN_M User(ZN_MSG, PVOID = NULL, PVOID = NULL);
  692.  
  693. protected:
  694.     VOID FN_M CheckMatch();
  695.     BOOL FN_M Detail();
  696.     BOOL FN_M Query(PZN_VLIST_ELEM);
  697.     BOOL FN_M Select();
  698. };
  699.  
  700.  
  701. //----------------------------------------------------------------------------
  702. //    Class ZI_Z4_DETAIL
  703. //----------------------------------------------------------------------------
  704. #define ZI_Z4_DETAIL_PARENT ZN_WINDOW
  705. class CLASSTYPE ZI_Z4_DETAIL : public ZI_Z4_DETAIL_PARENT
  706. {
  707.     Z4_Z4 z4;
  708.  
  709. public:
  710.     FN_M ZI_Z4_DETAIL(RZ4_Z4);
  711.     virtual FN_M ~ZI_Z4_DETAIL();
  712.  
  713.     virtual BOOL FN_M Destroy(BOOL = TRUE);
  714.     VOID FN_M Format();
  715.     virtual BOOL FN_M Initialize(SHORT = CL_INIT_ALL);
  716.     virtual ZN_MSG FN_M User(ZN_MSG, PVOID = NULL, PVOID = NULL);
  717. };
  718.  
  719.  
  720. //----------------------------------------------------------------------------
  721. //    Class ZI_Z4_LIST
  722. //----------------------------------------------------------------------------
  723. #define ZI_Z4_LIST_PARENT ZN_WINDOW
  724. class CLASSTYPE ZI_Z4_LIST : public ZI_Z4_LIST_PARENT
  725. {
  726.     PRECID precid;
  727.     LONG lCurrent;
  728.     LONG lRecords;
  729.     CHAR szFormat[256];
  730.  
  731. public:
  732.     FN_M ZI_Z4_LIST(SIZET, PRECID);
  733.     virtual FN_M ~ZI_Z4_LIST();
  734.  
  735.     virtual BOOL FN_M Destroy(BOOL = TRUE);
  736.     virtual BOOL FN_M Initialize(SHORT = CL_INIT_ALL);
  737.     BOOL FN_M Query(PZN_VLIST_ELEM);
  738.     virtual ZN_MSG FN_M User(ZN_MSG, PVOID = NULL, PVOID = NULL);
  739. };
  740.  
  741.  
  742. //----------------------------------------------------------------------------
  743. //    Class ZI_Z5
  744. //----------------------------------------------------------------------------
  745. #define ZI_Z5_PARENT ZN_WINDOW
  746. class CLASSTYPE ZI_Z5 : public ZI_Z5_PARENT
  747. {
  748.     BOOL fInit;
  749.     LONG lCurrent;
  750.     LONG lRecords;
  751.     CHAR szLastMatch[80];
  752.     CHAR szFormat[160];
  753.     PCSZ pcszZip5;
  754.  
  755. public:
  756.     FN_M ZI_Z5(PCSZ = NULL);
  757.     virtual FN_M ~ZI_Z5();
  758.  
  759.     VOID FN_M BestCity();
  760.     virtual BOOL FN_M Destroy(BOOL = TRUE);
  761.     virtual BOOL FN_M Initialize(SHORT = CL_INIT_ALL);
  762.     virtual ZN_MSG FN_M User(ZN_MSG, PVOID = NULL, PVOID = NULL);
  763.  
  764. protected:
  765.     VOID FN_M CheckMatch();
  766.     BOOL FN_M Detail();
  767.     BOOL FN_M Query(PZN_VLIST_ELEM);
  768.     BOOL FN_M Select();
  769. };
  770.  
  771.  
  772. //----------------------------------------------------------------------------
  773. //    Class ZI_Z5_LIST
  774. //----------------------------------------------------------------------------
  775. #define ZI_Z5_LIST_PARENT ZN_WINDOW
  776. class CLASSTYPE ZI_Z5_LIST : public ZI_Z5_LIST_PARENT
  777. {
  778.     SIZET cRecords;
  779.     PBYTE pb;
  780.  
  781. public:
  782.     FN_M ZI_Z5_LIST(SIZET, PBYTE);
  783.     virtual FN_M ~ZI_Z5_LIST();
  784.  
  785.     virtual BOOL FN_M Destroy(BOOL = TRUE);
  786.     BOOL FN_M Format();
  787.     virtual BOOL FN_M Initialize(SHORT = CL_INIT_ALL);
  788.     virtual ZN_MSG FN_M User(ZN_MSG, PVOID = NULL, PVOID = NULL);
  789. };
  790.  
  791.  
  792. //----------------------------------------------------------------------------
  793. //    Class ZI_ZX
  794. //----------------------------------------------------------------------------
  795. #define ZI_ZX_PARENT ZN_WINDOW
  796. class CLASSTYPE ZI_ZX : public ZI_ZX_PARENT
  797. {
  798.     BOOL fInit;
  799.     LONG lCurrent;
  800.     LONG lRecords;
  801.     CHAR szLastMatch[80];
  802.     CHAR szFormat[160];
  803.     PCSZ pcszZip4;
  804.  
  805. public:
  806.     FN_M ZI_ZX(PCSZ = NULL);
  807.     virtual FN_M ~ZI_ZX();
  808.  
  809.     virtual BOOL FN_M Destroy(BOOL = TRUE);
  810.     virtual BOOL FN_M Initialize(SHORT = CL_INIT_ALL);
  811.     virtual ZN_MSG FN_M User(ZN_MSG, PVOID = NULL, PVOID = NULL);
  812.  
  813. protected:
  814.     VOID FN_M CheckMatch();
  815.     BOOL FN_M Detail();
  816.     BOOL FN_M Query(PZN_VLIST_ELEM);
  817.     BOOL FN_M Select();
  818. };
  819. //----------------------------------------------------------------------------
  820. //------------------------------- End of File --------------------------------
  821. //----------------------------------------------------------------------------
  822. #endif                                             // _ZI_HPP_
  823.